WIP: Batch API and Absolute pen position #85
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Held back by the massive overhead in sending 100k+ ReSTful commands, I intend to wiping the slate clean on that for RoboPaint by introducing a brand new API endpoint:
/v1/batch. This allows a simple JSON format to hold all data for each command as it would be sent individually, into one command, reading from a local/remote file, or even data in thePOSTbody.To do this requires removing one of the last remaining oddities of the original client system: the distance counter. This free's up the client to manage this during spooling and send & forget the rest of the commands, allowing for batch sends possibly 10x - 50x faster with the request overhead removed. To aid in the clientside requirement of taking this over, I'm going to add another oft wanted feature: absolute measurement pen positioning. Allowing for MM or IN absolute measurement X/Y positions.
This PR will remain WIP until I can make sure these changes mesh well and make sense with the evil-mad/robopaint#287 it's meant to be helping complete.
This may also require revamping the position update timing because of unknowns with the serial buffer sends.